Mikmak MySQL DML UnitBase
CRUD stored procedures voor de UnitBase tabel. De afspraak is dat de namen voor de stored procedurs beginnen met de naam van de tabel gevolgd door de naam van de CRUD handeling. De naam wordt in pascalnotatie geschreven.
Probleem
We moeten de gegevens van een basiseenheid kunnen inserten, updaten, deleten en selecteren. De selectie moet kunnen gebeuren op basis van de naam en van de code.
Design
Naam | Beschrijving |
UnitBaseInsert | bevat 1 OUTPUT parameter om de nieuw Id te retourneren naar het calling programma |
UnitBaseUpdate | deze stored procedure updatet alle kolommen van de rij met de opgegeven Id |
UnitBaseSelectOne | lees 1 rij in uit de tabel op basis van de Id, neem alle kolommen mee voor het detail venster |
UnitBaseSelectAll | lees alle rijen in uit de tabel maar alleen de kolommen die we in de lijst willen laten zien |
UnitBaseSelectByCode | lees 1 rij in uit de tabel op basis van de Code maar alleen de kolommen die we in de lijst willen laten zien |
UnitBaseSelectByName | ees 1 rij in uit de tabel op basis van de Name maar alleen de kolommen die we in de lijst willen laten zien |
Oplossing
-- modernways.be -- created by an orm apart -- Entreprise de modes et de manières modernes -- MySql DML -- Created : Sunday 3rd of January 2016 02:28:16 PM -- DML Insert Stored Procedure for UnitBase -- USE Mikmak; -- Vooraleer de stored procedure te creëren, test als -- de die al bestaat. Als de SP al bestaat -- moet je die eerst droppen IF EXISTS (SELECT 1 FROM sys.procedures WHERE object_id = OBJECT_ID(N'UnitBaseInsert')) BEGIN DROP PROCEDURE UnitBaseInsert END GO CREATE PROCEDURE "UnitBaseInsert" ( @Name NVARCHAR (255) , @Description NVARCHAR (1024) , @ShippingCostMultiplier FLOAT , @Code NVARCHAR (2) , @Id INT output ) AS BEGIN INSERT INTO "UnitBase" ( "UnitBase"."Name", "UnitBase"."Description", "UnitBase"."ShippingCostMultiplier", "UnitBase"."Code" ) VALUES ( @Name, @Description, @ShippingCostMultiplier, @Code ); set @Id = SCOPE_IDENTITY(); END GO -- modernways.be -- created by an orm apart -- Entreprise de modes et de manières modernes -- MySql DML -- Created : Sunday 3rd of January 2016 02:28:16 PM -- DML Update Stored Procedure for UnitBase -- USE Mikmak; -- Vooraleer de stored procedure te creëren, test als -- de die al bestaat. Als de SP al bestaat -- moet je die eerst droppen IF EXISTS (SELECT 1 FROM sys.procedures WHERE object_id = OBJECT_ID(N'UnitBaseUpdate')) BEGIN DROP PROCEDURE UnitBaseUpdate END GO CREATE PROCEDURE "UnitBaseUpdate" ( @Name NVARCHAR (255) , @Description NVARCHAR (1024) , @ShippingCostMultiplier FLOAT , @Code NVARCHAR (2) , @Id INT ) AS BEGIN UPDATE "UnitBase" SET "Name" = @Name, "Description" = @Description, "ShippingCostMultiplier" = @ShippingCostMultiplier, "Code" = @Code WHERE "UnitBase"."Id" = @Id; END GO -- modernways.be -- created by an orm apart -- Entreprise de modes et de manières modernes -- MySql DML -- Created : Sunday 3rd of January 2016 02:28:16 PM -- DML Delete Stored Procedure for UnitBase -- USE Mikmak; -- Vooraleer de stored procedure te creëren, test als -- de die al bestaat. Als de SP al bestaat -- moet je die eerst droppen IF EXISTS (SELECT 1 FROM sys.procedures WHERE object_id = OBJECT_ID(N'UnitBaseDelete')) BEGIN DROP PROCEDURE UnitBaseDelete END GO CREATE PROCEDURE "UnitBaseDelete" ( @Id INT ) AS BEGIN DELETE FROM "UnitBase" WHERE "UnitBase"."Id" = @Id; END GO -- modernways.be -- created by an orm apart -- Entreprise de modes et de manières modernes -- MySql DML -- Created : Sunday 3rd of January 2016 02:28:16 PM -- DML SelectOne Stored Procedure for UnitBase -- USE Mikmak; -- Vooraleer de stored procedure te creëren, test als -- de die al bestaat. Als de SP al bestaat -- moet je die eerst droppen IF EXISTS (SELECT 1 FROM sys.procedures WHERE object_id = OBJECT_ID(N'UnitBaseSelectOne')) BEGIN DROP PROCEDURE UnitBaseSelectOne END GO CREATE PROCEDURE "UnitBaseSelectOne" ( @Id INT ) AS BEGIN SELECT * FROM "UnitBase" WHERE "UnitBase"."Id" = @Id; END GO -- modernways.be -- created by an orm apart -- Entreprise de modes et de manières modernes -- MySql DML -- Created : Sunday 3rd of January 2016 02:28:16 PM -- DML SelectAll Stored Procedure for table UnitBase -- USE Mikmak; -- Vooraleer de stored procedure te creëren, test als -- de die al bestaat. Als de SP al bestaat -- moet je die eerst droppen IF EXISTS (SELECT 1 FROM sys.procedures WHERE object_id = OBJECT_ID(N'UnitBaseSelectAll')) BEGIN DROP PROCEDURE UnitBaseSelectAll END GO CREATE PROCEDURE "UnitBaseSelectAll" AS BEGIN SELECT "UnitBase"."Name", "UnitBase"."ShippingCostMultiplier", "UnitBase"."Code", "UnitBase"."Id" FROM "UnitBase" ORDER BY "Name"; END GO -- modernways.be -- created by an orm apart -- Entreprise de modes et de manières modernes -- MySql DML -- Created : Sunday 3rd of January 2016 02:28:16 PM -- DML SelectByName Stored Procedure for table UnitBase -- USE Mikmak; -- Vooraleer de stored procedure te creëren, test als -- de die al bestaat. Als de SP al bestaat -- moet je die eerst droppen IF EXISTS (SELECT 1 FROM sys.procedures WHERE object_id = OBJECT_ID(N'UnitBaseSelectByName')) BEGIN DROP PROCEDURE UnitBaseSelectByName END GO CREATE PROCEDURE "UnitBaseSelectByName" ( @Name NVARCHAR (255) ) AS BEGIN SELECT "UnitBase"."Name", "UnitBase"."ShippingCostMultiplier", "UnitBase"."Code", "UnitBase"."Id" FROM "UnitBase" WHERE "UnitBase"."Name" = @Name ORDER BY "UnitBase"."Name"; END GO -- modernways.be -- created by an orm apart -- Entreprise de modes et de manières modernes -- MySql DML -- Created : Sunday 3rd of January 2016 02:28:16 PM -- DML SelectByCode Stored Procedure for table UnitBase -- USE Mikmak; -- Vooraleer de stored procedure te creëren, test als -- de die al bestaat. Als de SP al bestaat -- moet je die eerst droppen IF EXISTS (SELECT 1 FROM sys.procedures WHERE object_id = OBJECT_ID(N'UnitBaseSelectByCode')) BEGIN DROP PROCEDURE UnitBaseSelectByCode END GO CREATE PROCEDURE "UnitBaseSelectByCode" ( @Code NVARCHAR (2) ) AS BEGIN SELECT "UnitBase"."Name", "UnitBase"."ShippingCostMultiplier", "UnitBase"."Code", "UnitBase"."Id" FROM "UnitBase" WHERE "UnitBase"."Code" = @Code ORDER BY "UnitBase"."Code"; END GO
2017-01-17 21:50:16